﻿// Inner Fire 游戏引擎库
// DxLights 渲染器光源功能
//
// Copyright (c) 2025 by 尔西大帝. All rights reserved.
//
// 用于DirectX的渲染器。
// 此文件分装用于光源功能
//
// Author: 尔西大帝
// Email: 2670613871@qq.com
// Created: 2025-04-23

#pragma once

#include "dx_module.h"

namespace ifire::dx {
class DxGraphics;

class DxLights : public DxModule {
public:
  DxLights(DxGraphics* dx);
  DxLights(const DxLights& rhs) = delete;
  DxLights& operator=(const DxLights& rhs) = delete;
  ~DxLights() = default;
  
  void UpdateLights();
  void RotateLights();

  // ------
  // 属性访问
  // ------

private:
  float light_rotation_angle_ = 0.0f;
  DirectX::XMFLOAT3 rotated_light_directions_[3];

};

} // namespace ifire::dx